class Order:
    def __init__(self, order_id, create_time, pickup_point, delivery_point, status):
        self.order_id = order_id
        self.create_time = create_time
        self.start_time = -1  # 订单任务开始时间，即完成分配status变为1的时间
        self.predicted_pickup_time = -1  # 预测订单取货时间
        self.predicted_delivery_time = -1  # 预测订单送达时间
        self.actual_pickup_time = -1  # 实际订单取货时间
        self.actual_delivery_time = -1  # 实际订单送达时间
        self.pickup_point = pickup_point
        self.delivery_point = delivery_point
        self.status = status  # 订单状态，0-未分配，1-待取货，2-待送达，3-已送达
        self.value = 0.1 * (self.start_time - self.create_time) + \
                     0.5 * (self.predicted_pickup_time - self.start_time) + \
                     0.4 * (self.predicted_delivery_time - self.predicted_pickup_time)

    def __repr__(self):
        return f"Order(id={self.order_id}, start_time={self.start_time}, pickup={self.pickup_point}, delivery={self.delivery_point})"
